1. Technical Field
This application generally relates to tracking use of interface and online assistance.
2. Description of Related Art
During the course of using a computer, a user may make mistakes in entering commands or have questions about how to accomplish a particular function or goal. Various levels of on-line help systems have been provided to assist users.
A very simple level is one in which the system, in response to the entry of an erroneous command, outputs an error code or a short message. The user's response depends upon the user's knowledge which varies greatly dependent upon the user's training and experience with using computers. An experienced person usually would know the proper response, upon receiving an error message, but even experts often need help. A less experienced person would have to look up the answer in a manual or ask a more knowledgeable person what to do. Some computers are provided with on-line help systems in which full text or shortened descriptions of system commands can be accessed by a user pressing a help key.
Such descriptions may or may not be helpful dependent upon the user's expertise and ability through trial-and-error methods to choose the right option. Such descriptions are general in nature and are not tailored to the specifics of the user's activity.
In the past, various “intelligent” help systems have been proposed at least some of which incorporate concepts, techniques and tools from the field of artificial intelligence.
In using a software application or the like on a computer or the like, a user is often able to avail himself or herself of a help function built into or attached to the application. Such help function can be quite thorough and even exhaustive, and may contain a number of help topics or the like that can be accessed by way of an index of key words, a table of contents, or a search phrase, among other things.
Importantly, a user searching for one or more particular help topics needs to have at least a rough idea of the key words, contents section, or search phrase to employ to find such help topics. The user can be led astray by a bad choice, or may at times not even have any notion of where to start. Finding an appropriate help topic can become a challenging exercise.
In at least some applications and some instances with regard to such applications, a particular portion or activity of the application may be linked directly to one or more help topics of the help function, where the linked-to pre-defined help topics presumably correspond to the particular portion. Accordingly, a user working at the particular portion of the application can merely actuate the link and immediately be directed to the pre-defined presumably corresponding help topics. For example, if the activity is saving a file worked on by the user with the application, a saving transaction may provide a help switch that when actuated by a user transfers such user to various ‘save file’ help topics.
In the aforementioned circumstance, the help function may be said to be activity-sensitive in that the help topics presented to the user are based on and relevant to the current activity of the application.
Thus, computer-aided help system have been developed to provide on-line assistance to computer users, and more advanced help systems display context-sensitive help. Context-sensitive help systems determine what particular part of an application program the user is in. Then help information is displayed that is relevant to this user location.
Such context-sensitive help systems represent an advancement over simple help systems, and have numerous characteristics. Such systems are usually tightly coupled to an application program; they rely on the application program to keep track of and store the context. Since these systems are configured to display help information based upon program location, they return the same help information for a given location regardless of how the user got there. Such systems provide the convenience of on-line help in that the help information they provide is effectively a user's manual correlated with a given program screen or function.
A storage system is a configurable computer system that provides storage service relating to the organization of information on writable persistent storage devices, such as memories, tapes or disks. The storage system is commonly deployed within a storage area network (SAN) or a network attached storage (NAS) environment.
A system administrator makes important data storage configuration decisions such as decisions as to the number of disks and the locations of portions (extents) of those disks that are aggregated to construct “user-defined volumes” and, thereafter, how those volumes are used. The term “volume” as conventionally used in a SAN environment implies a storage entity that is constructed by specifying physical disks and extents within those disks via operations that combine those extents/disks into a user-defined volume storage entity.
Typically, the system administrator renders his or her decisions through a complex user interface oriented towards users that are knowledgeable about the underlying physical aspects of the system. For example, the user interface may revolve primarily around physical disk structures and management that the system administrator must manipulate in order to present a view of the SAN platform on behalf of a client. In some instances, the user interface may prompt the administrator to specify the physical disks, along with the sizes of extents within those disks, needed to construct the user-defined volume. In addition, the interface may prompt the administrator for the physical locations of those extents and disks, as well as the manner in which they are “glued together” (organized) and made visible (exported) to a SAN client as a user-defined volume corresponding to a disk or logical volume (LUN). The system administrator may also need to specify the form of reliability, e.g., a Redundant Array of Independent (or Inexpensive) Disks (RAID) protection level and/or mirroring, for that constructed volume. RAID groups are then overlaid on top of those selected disks/extents.
In sum, a data storage system administrator is typically required to finely configure the system, including in at least some cases the physical layout of the disks and their organization to create a user-defined volume that is exported as a single LUN to a SAN client. For the system administrator to increase the size of the user-defined volume, disks are added and RAID calculations are re-computed to include redundant information associated with data stored on the disks constituting the volume.
Thus, conventional user interface systems for SAN and NAS storage environments require large amounts of administrator intervention to manage the disks, volumes and/or file systems involved. Additionally, any user interface differences between SAN and NAS environments may force the system administrator to manage multiple sets of commands to configure and control the file systems, disks and/or volumes contained within the storage system environment.
The environment may include data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more servers or host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data in the device. In order to facilitate sharing of the data on the device, additional software on the data storage systems may also be used.
Different tasks may be performed in connection with a data storage system. For example, a customer may perform data storage configuration tasks (i.e., serve as his or her own system administrator). Such tasks may include, for example, configuring storage for use with an email application. In connection with the configuration processing, tasks may include allocating storage, specifying the logical and/or physical devices used for the storage allocation, specifying whether the data should be replicated, the particular RAID level, and the like. With such options in connection with performing the configuration, a customer may not have the appropriate level of sophistication and knowledge needed.